1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637
#![allow(non_camel_case_types, non_upper_case_globals)]
use crate::co::*;
const_ordinary! { FDEOR: u32;
/// [`FDE_OVERWRITE_RESPONSE`](https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/ne-shobjidl_core-fde_overwrite_response)
/// enumeration (`u32`).
=>
=>
DEFAULT 0
ACCEPT 1
REFUSE 2
}
const_ordinary! { FDESVR: u32;
/// [`FDE_SHAREVIOLATION_RESPONSE`](https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/ne-shobjidl_core-fde_shareviolation_response)
/// enumeration (`u32`).
=>
=>
DEFAULT 0
ACCEPT 1
REFUSE 2
}
const_ordinary! { FO: u32;
/// [`SHFILEOPSTRUCT`](crate::SHFILEOPSTRUCT) `wFunc` (`u32`).
=>
=>
MOVE 0x0001
COPY 0x0002
DELETE 0x0003
RENAME 0x0004
}
const_bitflag! { FOF: u16;
/// [`SHFILEOPSTRUCT`](crate::SHFILEOPSTRUCT) `fFlags` (`u16`).
=>
=>
MULTIDESTFILES 0x0001
CONFIRMMOUSE 0x0002
SILENT 0x0004
RENAMEONCOLLISION 0x0008
NOCONFIRMATION 0x0010
WANTMAPPINGHANDLE 0x0020
ALLOWUNDO 0x0040
FILESONLY 0x0080
SIMPLEPROGRESS 0x0100
NOCONFIRMMKDIR 0x0200
NOERRORUI 0x0400
NOCOPYSECURITYATTRIBS 0x0800
NORECURSION 0x1000
NO_CONNECTED_ELEMENTS 0x2000
WANTNUKEWARNING 0x4000
NORECURSEREPARSE 0x8000
NO_UI Self::SILENT.0 | Self::NOCONFIRMATION.0 | Self::NOERRORUI.0 | Self::NOCONFIRMMKDIR.0
}
const_bitflag! { FOS: u32;
/// [`_FILEOPENDIALOGOPTIONS`](https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/ne-shobjidl_core-_fileopendialogoptions)
/// enumeration (`u32`).
=>
=>
/// When saving a file prompt before overwriting an existing file of the
/// same name. This is a default value for the Save dialog.
OVERWRITEPROMPT 0x2
/// In the Save dialog only allow the user to choose a file that has one of
/// the file name extensions specified through
/// [`IFileDialog::SetFileTypes`](crate::prelude::shell_IFileDialog::SetFileTypes).
STRICTFILETYPES 0x4
/// Don't change the current working directory.
NOCHANGEDIR 0x8
/// Present an Open dialog that offers a choice of folders rather than
/// files.
PICKFOLDERS 0x20
/// Ensures that returned items are file system items
/// ([`SFGAO::FILESYSTEM`](crate::co::SFGAO::FILESYSTEM)). Note that this
/// does not apply to items returned by
/// [`IFileDialog::GetCurrentSelection`](crate::prelude::shell_IFileDialog::GetCurrentSelection).
FORCEFILESYSTEM 0x40
/// Enables the user to choose any item in the Shell namespace not just
/// those with [`SFGAO::STREAM`](crate::co::SFGAO::STREAM) or
/// [`SFAGO::FILESYSTEM`](crate::co::SFGAO::FILESYSTEM) attributes. This
/// flag cannot be combined with
/// [`FOS::FORCEFILESYSTEM`](crate::co::FOS::FORCEFILESYSTEM).
ALLNONSTORAGEITEMS 0x80
/// Do not check for situations that would prevent an application from
/// opening the selected file such as sharing violations or access denied
/// errors.
NOVALIDATE 0x100
/// Enables the user to select multiple items in the open dialog. Note that
/// when this flag is set the [`IFileOpenDialog`](crate::IFileOpenDialog)
/// interface must be used to retrieve those items.
ALLOWMULTISELECT 0x200
/// The item returned must be in an existing folder. This is a default
/// value.
PATHMUSTEXIST 0x800
/// The item returned must exist. This is a default value for the Open
/// dialog.
FILEMUSTEXIST 0x1000
/// Prompt for creation if the item returned in the save dialog does not
/// exist. Note that this does not actually create the item.
CREATEPROMPT 0x2000
/// In the case of a sharing violation when an application is opening a
/// file call the application back through
/// [`OnShareViolation`](https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogevents-onshareviolation)
/// for guidance. This flag is overridden by
/// [`FOS::NOVALIDATE`](crate::co::FOS::NOVALIDATE).
SHAREAWARE 0x4000
/// Do not return read-only items. This is a default value for the Save
/// dialog.
NOREADONLYRETURN 0x8000
/// Do not test whether creation of the item as specified in the Save dialog
/// will be successful. If this flag is not set the calling application
/// must handle errors such as denial of access discovered when the item
/// is created.
NOTESTFILECREATE 0x1_0000
/// Hide the list of places from which the user has recently opened or saved
/// items. This value is not supported as of Windows 7.
HIDEMRUPLACES 0x2_0000
/// Hide items shown by default in the view's navigation pane. This flag is
/// often used in conjunction with the
/// [`IFileDialog::AddPlace`](crate::prelude::shell_IFileDialog::AddPlace)
/// method, to hide standard locations and replace them with custom
/// locations.
///
/// Windows 7 and later. Hide all of the standard namespace locations (such
/// as Favorites Libraries Computer and Network) shown in the navigation
/// pane.
///
/// Windows Vista. Hide the contents of the Favorite Links tree in the
/// navigation pane. Note that the category itself is still displayed but
/// shown as empty.
HIDEPINNEDPLACES 0x4_0000
/// Shortcuts should not be treated as their target items. This allows an
/// application to open a .lnk file rather than what that file is a shortcut
/// to.
NODEREFERENCELINKS 0x10_0000
/// (This constant has no official documentation.)
OKBUTTONNEEDSINTERACTION 0x20_0000
/// Do not add the item being opened or saved to the recent documents list
/// ([`SHAddToRecentDocs`](crate::SHAddToRecentDocs)).
DONTADDTORECENT 0x200_0000
/// Include hidden and system items.
FORCESHOWHIDDEN 0x1000_0000
/// Indicates to the Save As dialog box that it should open in expanded
/// mode. Expanded mode is the mode that is set and unset by clicking the
/// button in the lower-left corner of the Save As dialog box that switches
/// between Browse Folders and Hide Folders when clicked. This value is not
/// supported as of Windows 7.
DEFAULTNOMINIMODE 0x2000_0000
/// Indicates to the Open dialog box that the preview pane should always be
/// displayed.
FORCEPREVIEWPANEON 0x4000_0000
/// Indicates that the caller is opening a file as a stream
/// ([`BHID_Stream`](crate::prelude::shell_IShellItem::BindToHandler)) so
/// there is no need to download that file.
SUPPORTSTREAMABLEITEMS 0x8000_0000
}
const_ordinary! { FDAP: u32;
/// [`FDAP`](https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/ne-shobjidl_core-fdap)
/// enumeration (`u32`).
=>
=>
BOTTOM 0
TOP 1
}
const_bitflag! { GPS: u32;
/// [`GETPROPERTYSTOREFLAGS`](https://learn.microsoft.com/en-us/windows/win32/api/propsys/ne-propsys-getpropertystoreflags)
/// enumeration (`u32`).
=>
=>
DEFAULT 0
HANDLERPROPERTIESONLY 0x1
READWRITE 0x2
TEMPORARY 0x4
FASTPROPERTIESONLY 0x8
OPENSLOWITEM 0x10
DELAYCREATION 0x20
BESTEFFORT 0x40
NO_OPLOCK 0x80
PREFERQUERYPROPERTIES 0x100
EXTRINSICPROPERTIES 0x200
EXTRINSICPROPERTIESONLY 0x400
VOLATILEPROPERTIES 0x800
VOLATILEPROPERTIESONLY 0x1000
MASK_VALID 0x1fff
}
const_bitflag! { HOTKEYF: u16;
/// [`wm::GetHotkey`](crate::msg::wm::GetHotKey) and
/// [`wm::SetHotKey`](crate::msg::wm::SetHotKey) modifiers;
/// [`SHELLEXECUTEINFO`](crate::SHELLEXECUTEINFO) `dwHotKey` (`u16`).
=>
=>
/// None of the actual values (zero).
NoValue 0
ALT 0x04
CONTROL 0x02
EXT 0x08
SHIFT 0x01
}
const_bitflag! { KF: u32;
/// [`KNOWN_FOLDER_FLAG`](https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/ne-shlobj_core-known_folder_flag)
/// enumeration (`u32`).
=>
=>
DEFAULT 0x0000_0000
FORCE_APP_DATA_REDIRECTION 0x0008_0000
RETURN_FILTER_REDIRECTION_TARGET 0x0004_0000
FORCE_PACKAGE_REDIRECTION 0x0002_0000
NO_PACKAGE_REDIRECTION 0x0001_0000
FORCE_APPCONTAINER_REDIRECTION 0x0002_0000
NO_APPCONTAINER_REDIRECTION 0x0001_0000
CREATE 0x0000_8000
DONT_VERIFY 0x0000_4000
DONT_UNEXPAND 0x0000_2000
NO_ALIAS 0x0000_1000
INIT 0x0000_0800
DEFAULT_PATH 0x0000_0400
NOT_PARENT_RELATIVE 0x0000_0200
SIMPLE_IDLIST 0x0000_0100
ALIAS_ONLY 0x8000_0000
}
const_bitflag! { NIF: u32;
/// [`NOTIFYICONDATA`](crate::NOTIFYICONDATA) `uFlags` (`u32`).
=>
=>
MESSAGE 0x0000_0001
ICON 0x0000_0002
TIP 0x0000_0004
STATE 0x0000_0008
INFO 0x0000_0010
GUID 0x0000_0020
REALTIME 0x0000_0040
SHOWTIP 0x0000_0080
}
const_bitflag! { NIIF: u32;
/// [`NOTIFYICONDATA`](crate::NOTIFYICONDATA) `dwInfoFlags` (`u32`).
=>
=>
NONE 0x0000_0000
INFO 0x0000_0001
WARNING 0x0000_0002
ERROR 0x0000_0003
USER 0x0000_0004
NOSOUND 0x0000_0010
LARGE_ICON 0x0000_0020
RESPECT_QUIET_TIME 0x0000_0080
}
const_ordinary! { NIM: u32;
/// [`Shell_NotifyIcon`](crate::Shell_NotifyIcon) `message` (`u32`).
=>
=>
ADD 0x0000_0000
MODIFY 0x0000_0001
DELETE 0x0000_0002
SETFOCUS 0x0000_0003
SETVERSION 0x0000_0004
}
const_bitflag! { NIS: u32;
/// [`NOTIFYICONDATA`](crate::NOTIFYICONDATA) `dwState` and `dwStateFlags`
/// (`u32`).
=>
=>
HIDDEN 0x0000_0001
SHAREDICON 0x0000_0002
}
const_bitflag! { SEE_MASK: u32;
/// [`SHELLEXECUTEINFO`](crate::SHELLEXECUTEINFO) `fMask` (`u32`).
///
/// Some constants are set internally, not being publicly available.
=>
IDLIST 0x0000_0004
CLASSNAME 0x0000_0001
CLASSKEY 0x0000_0003
HOTKEY 0x0000_0020
ICON 0x0000_0010
HMONITOR 0x0020_0000
_NOQUERYCLASSSTORE 0x0100_0000
_FLAG_HINST_IS_SITE 0x0800_0000
=>
DEFAULT 0x0000_0000
INVOKEIDLIST 0x0000_000c
NOCLOSEPROCESS 0x0000_0040
CONNECTNETDRV 0x0000_0080
NOASYNC 0x0000_0100
FLAG_DDEWAIT 0x0000_0100
DOENVSUBST 0x0000_0200
FLAG_NO_UI 0x0000_0400
UNICODE 0x0000_4000
NO_CONSOLE 0x0000_8000
ASYNCOK 0x0010_0000
NOZONECHECKS 0x0080_0000
WAITFORINPUTIDLE 0x0200_0000
FLAG_LOG_USAGE 0x0400_0000
}
const_bitflag! { SFGAO: u32;
/// [`SFGAO`](https://learn.microsoft.com/en-us/windows/win32/shell/sfgao)
/// constants (`u32`).
=>
=>
CANCOPY DROPEFFECT::COPY.raw()
CANMOVE DROPEFFECT::MOVE.raw()
CANLINK DROPEFFECT::LINK.raw()
STORAGE 0x0000_0008
CANRENAME 0x0000_0010
CANDELETE 0x0000_0020
HASPROPSHEET 0x0000_0040
DROPTARGET 0x0000_0100
CAPABILITYMASK 0x0000_0177
SYSTEM 0x0000_1000
ENCRYPTED 0x0000_2000
ISSLOW 0x0000_4000
GHOSTED 0x0000_8000
LINK 0x0001_0000
SHARE 0x0002_0000
READONLY 0x0004_0000
HIDDEN 0x0008_0000
FILESYSANCESTOR 0x1000_0000
FOLDER 0x2000_0000
FILESYSTEM 0x4000_0000
HASSUBFOLDER 0x8000_0000
CONTENTSMASK 0x8000_0000
VALIDATE 0x0100_0000
REMOVABLE 0x0200_0000
COMPRESSED 0x0400_0000
BROWSABLE 0x0800_0000
NONENUMERATED 0x0010_0000
NEWCONTENT 0x0020_0000
CANMONIKER 0x0040_0000
HASSTORAGE 0x0040_0000
STREAM 0x0040_0000
STORAGEANCESTOR 0x0080_0000
STORAGECAPMASK 0x70c5_0008
PKEYSFGAOMASK 0x8104_4000
}
const_ordinary! { SHARD: u32;
/// [`SHARD`](https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/ne-shlobj_core-shard)
/// enumeration (`u32`).
=>
=>
PIDL 0x0000_0001
PATHA 0x0000_0002
PATHW 0x0000_0003
APPIDINFO 0x0000_0004
APPIDINFOIDLIST 0x0000_0005
LINK 0x0000_0006
APPIDINFOLINK 0x0000_0007
SHELLITEM 0x0000_0008
}
const_bitflag! { SHGFI: u32;
/// [`SHGetFileInfo`](crate::SHGetFileInfo) `flags` (`u32`).
=>
=>
ICON 0x0000_0100
DISPLAYNAME 0x0000_0200
TYPENAME 0x0000_0400
ATTRIBUTES 0x0000_0800
ICONLOCATION 0x0000_1000
EXETYPE 0x0000_2000
SYSICONINDEX 0x0000_4000
LINKOVERLAY 0x0000_8000
SELECTED 0x0001_0000
ATTR_SPECIFIED 0x0002_0000
LARGEICON 0x0000_0000
SMALLICON 0x0000_0001
OPENICON 0x0000_0002
SHELLICONSIZE 0x0000_0004
PIDL 0x0000_0008
USEFILEATTRIBUTES 0x0000_0010
ADDOVERLAYS 0x0000_0020
OVERLAYINDEX 0x0000_0040
}
const_bitflag! { SHGSI: u32;
/// [`SHGetStockIconInfo`](crate::SHGetStockIconInfo) `flags` (`u32`).
=>
=>
/// None of the actual values (zero).
NoValue 0
ICONLOCATION 0
ICON SHGFI::ICON.0
SYSICONINDEX SHGFI::SYSICONINDEX.0
LINKOVERLAY SHGFI::LINKOVERLAY.0
SELECTED SHGFI::SELECTED.0
LARGEICON SHGFI::LARGEICON.0
SMALLICON SHGFI::SMALLICON.0
SHELLICONSIZE SHGFI::SHELLICONSIZE.0
}
const_ordinary! { SICHINTF: u32;
/// [`SICHINTF`](https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/ne-shobjidl_core-_sichintf)
/// enumeration (`u32`).
=>
=>
DISPLAY 0
ALLFIELDS 0x8000_0000
CANONICAL 0x1000_0000
TEST_FILESYSPATH_IF_NOT_EQUAL 0x2000_0000
}
const_ordinary! { SIGDN: u32;
/// [`SIGDN`](https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/ne-shobjidl_core-sigdn)
/// enumeration (`u32`).
=>
=>
/// Returns the display name relative to the parent folder. In UI this name
/// is generally ideal for display to the user.
NORMALDISPLAY 0
/// Returns the parsing name relative to the parent folder. This name is not
/// suitable for use in UI.
PARENTRELATIVEPARSING 0x8001_8001
/// Returns the parsing name relative to the desktop. This name is not
/// suitable for use in UI.
DESKTOPABSOLUTEPARSING 0x8002_8000
/// Returns the editing name relative to the parent folder. In UI this name
/// is suitable for display to the user.
PARENTRELATIVEEDITING 0x8003_1001
/// Returns the editing name relative to the desktop. In UI this name is
/// suitable for display to the user.
DESKTOPABSOLUTEEDITING 0x8004_c000
/// Returns the item's file system path if it has one. Only items that
/// report [`SFGAO::FILESYSTEM`](crate::co::SFGAO::FILESYSTEM) have a file
/// system path. When an item does not have a file system path a call to
/// [`IShellItem::GetDisplayName`](crate::prelude::shell_IShellItem::GetDisplayName)
/// on that item will fail. In UI this name is suitable for display to the
/// user in some cases but note that it might not be specified for all
/// items.
FILESYSPATH 0x8005_8000
/// Returns the item's URL if it has one. Some items do not have a URL and
/// in those cases a call to
/// [`IShellItem::GetDisplayName`](crate::prelude::shell_IShellItem::GetDisplayName)
/// will fail. This name is suitable for display to the user in some cases,
/// but note that it might not be specified for all items.
URL 0x8006_8000
/// Returns the path relative to the parent folder in a friendly format as
/// displayed in an address bar. This name is suitable for display to the
/// user.
PARENTRELATIVEFORADDRESSBAR 0x8007_c001
/// Returns the path relative to the parent folder.
PARENTRELATIVE 0x8008_0001
/// Introduced in Windows 8.
PARENTRELATIVEFORUI 0x8009_4001
}
const_ordinary! { SIID: u32;
/// [`SHSTOCKICONID`](https://learn.microsoft.com/en-us/windows/win32/api/shellapi/ne-shellapi-shstockiconid)
/// enumeration, [`SHGetStockIconInfo`](crate::SHGetStockIconInfo) `siid`
/// (`u32`).
=>
=>
DOCNOASSOC 0
DOCASSOC 1
APPLICATION 2
FOLDER 3
FOLDEROPEN 4
DRIVE525 5
DRIVE35 6
DRIVEREMOVE 7
DRIVEFIXED 8
DRIVENET 9
DRIVENETDISABLED 10
DRIVECD 11
DRIVERAM 12
WORLD 13
SERVER 15
PRINTER 16
MYNETWORK 17
FIND 22
HELP 23
SHARE 28
LINK 29
SLOWFILE 30
RECYCLER 31
RECYCLERFULL 32
MEDIACDAUDIO 40
LOCK 47
AUTOLIST 49
PRINTERNET 50
SERVERSHARE 51
PRINTERFAX 52
PRINTERFAXNET 53
PRINTERFILE 54
STACK 55
MEDIASVCD 56
STUFFEDFOLDER 57
DRIVEUNKNOWN 58
DRIVEDVD 59
MEDIADVD 60
MEDIADVDRAM 61
MEDIADVDRW 62
MEDIADVDR 63
MEDIADVDROM 64
MEDIACDAUDIOPLUS 65
MEDIACDRW 66
MEDIACDR 67
MEDIACDBURN 68
MEDIABLANKCD 69
MEDIACDROM 70
AUDIOFILES 71
IMAGEFILES 72
VIDEOFILES 73
MIXEDFILES 74
FOLDERBACK 75
FOLDERFRONT 76
SHIELD 77
WARNING 78
INFO 79
ERROR 80
KEY 81
SOFTWARE 82
RENAME 83
DELETE 84
MEDIAAUDIODVD 85
MEDIAMOVIEDVD 86
MEDIAENHANCEDCD 87
MEDIAENHANCEDDVD 88
MEDIAHDDVD 89
MEDIABLURAY 90
MEDIAVCD 91
MEDIADVDPLUSR 92
MEDIADVDPLUSRW 93
DESKTOPPC 94
MOBILEPC 95
USERS 96
MEDIASMARTMEDIA 97
MEDIACOMPACTFLASH 98
DEVICECELLPHONE 99
DEVICECAMERA 100
DEVICEVIDEOCAMERA 101
DEVICEAUDIOPLAYER 102
NETWORKCONNECT 103
INTERNET 104
ZIPFILE 105
SETTINGS 106
DRIVEHDDVD 132
DRIVEBD 133
MEDIAHDDVDROM 134
MEDIAHDDVDR 135
MEDIAHDDVDRAM 136
MEDIABDROM 137
MEDIABDR 138
MEDIABDRE 139
CLUSTEREDDRIVE 140
MAX_ICONS 181
}
const_bitflag! { SLGP: u32;
/// [`IShellLink::GetPath`](crate::prelude::shell_IShellLink::GetPath)
/// `flags` (`u32`).
=>
=>
SHORTPATH 0x1
UNCPRIORITY 0x2
RAWPATH 0x4
RELATIVEPRIORITY 0x8
}
const_bitflag! { SLR: u32;
/// [`IShellLink::Resolve`](crate::prelude::shell_IShellLink::GetPath)
/// `flags` (`u32`).
=>
=>
NONE 0
NO_UI 0x1
ANY_MATCH 0x2
UPDATE 0x4
NOUPDATE 0x8
NOSEARCH 0x10
NOTRACK 0x20
NOLINKINFO 0x40
INVOKE_MSI 0x80
NO_UI_WITH_MSG_PUMP 0x101
OFFER_DELETE_WITHOUT_FILE 0x200
KNOWNFOLDER 0x400
MACHINE_IN_LOCAL_TARGET 0x800
UPDATE_MACHINE_AND_SID 0x1000
NO_OBJECT_ID 0x2000
}
const_ordinary! { STPFLAG: u32;
/// [`STPFLAG`](https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/ne-shobjidl_core-stpflag)
/// enumeration (`u32`).
=>
=>
NONE 0
USEAPPTHUMBNAILALWAYS 0x1
USEAPPTHUMBNAILWHENACTIVE 0x2
USEAPPPEEKALWAYS 0x4
USEAPPPEEKWHENACTIVE 0x8
}
const_ordinary! { TBPF: u32;
/// [`ITaskbarList3::SetProgressState`](crate::prelude::shell_ITaskbarList3::SetProgressState)
/// `tbpFlags` (`u32`).
=>
=>
/// Stops displaying progress and returns the button to its normal state.
/// Call this method with this flag to dismiss the progress bar when the
/// operation is complete or canceled.
NOPROGRESS 0
/// The progress indicator does not grow in size but cycles repeatedly
/// along the length of the taskbar button. This indicates activity without
/// specifying what proportion of the progress is complete. Progress is
/// taking place but there is no prediction as to how long the operation
/// will take.
INDETERMINATE 0x1
/// The progress indicator grows in size from left to right in proportion to
/// the estimated amount of the operation completed. This is a determinate
/// progress indicator; a prediction is being made as to the duration of the
/// operation.
NORMAL 0x2
/// The progress indicator turns red to show that an error has occurred in
/// one of the windows that is broadcasting progress. This is a determinate
/// state. If the progress indicator is in the indeterminate state it
/// switches to a red determinate display of a generic percentage not
/// indicative of actual progress.
ERROR 0x4
/// The progress indicator turns yellow to show that progress is currently
/// stopped in one of the windows but can be resumed by the user. No error
/// condition exists and nothing is preventing the progress from continuing.
/// This is a determinate state. If the progress indicator is in the
/// indeterminate state it switches to a yellow determinate display of a
/// generic percentage not indicative of actual progress.
PAUSED 0x8
}